Computer networking technology has advanced to the point that distribution of computer programs and applications over a computer network, such as the Internet, has become commercially attractive because the infrastructure and expenses associated with a sales and distribution network are eliminated. Nevertheless, such an approach has a drawback in that software is easily pirated, thereby potentially minimizing any revenue obtained.
What is needed is an easy and efficient technique for encoding information, termed a “digital watermark” or more simply a “watermark”, into a computer program or application that is being downloaded over a computer network so that any pirating of the downloaded software can be traced to the original purchaser. Moreover, what is needed is a way to encode a digital watermark into a computer program in such a way that the information is not easily detected and forged.